﻿// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;

namespace DocumentFormat.OpenXml.Validation.Semantic
{
	internal partial class SemanticConstraintRegistry
	{
		public void Initialize()
		{
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Control.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/control"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EmbedBoldFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Endnote.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EndnoteSpecialReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FootnoteSpecialReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Footnote.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FootnoteReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*w:id*/, "FootnotesPart", DocumentFormat.OpenXml.Wordprocessing.Footnote.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Footnote", 1 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DecimalSymbol.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*w:val*/, @".{1}"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.ListSeparator.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*w:val*/, @".{1}"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AltChunk.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(16 /*:windowWidth*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(18 /*:tabRatio*/, true, double.NegativeInfinity, true, 1000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(19 /*:activeSheetId*/, true, 1, true, 65534, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FileSharing.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:userName*/, 1, 54));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FileVersion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:appName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FileVersion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:lastEdited*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FileVersion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:lowestEdited*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FileVersion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:rupBuild*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:builtInGroupCount*/, true, double.NegativeInfinity, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*:name*/, @"[^'*\[\]/\\:?]{1}[^*\[\]/\\:?]*"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:sheetId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:sheetId*/, true, 1, true, 65534, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*r:id*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:windowWidth*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:windowHeight*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(9 /*:tabRatio*/, true, double.NegativeInfinity, true, 1000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(11 /*:activeTab*/, true, 0, true, 32766, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:cm*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(3 /*:cm*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.CellMetadata.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.MetadataBlock.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.MetadataBlock", 1));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:vm*/, true, double.NegativeInfinity, true, 2147483648, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(4 /*:vm*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.ValueMetadata.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.MetadataBlock.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.MetadataBlock", 1));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:s*/, true, 0, true, 65490, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Cell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:s*/, "/WorkbookPart/WorkbookStylesPart", DocumentFormat.OpenXml.Spreadsheet.CellFormats.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellWatch.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CellWatches.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:r*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(7 /*:operator*/, 0 /*:type*/ , "cells") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(9 /*:timePeriod*/, 0 /*:type*/ , "timePeriod") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:outlineLevel*/, true, 0, true, 7, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:min*/, true, 1, true, 16384, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:max*/, true, 1, true, 16384, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:width*/, true, 0, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:style*/, true, 0, true, 65429, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ColumnBreaks.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 1023, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ColumnBreaks.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:manualBreakCount*/, true, double.NegativeInfinity, true, 1023, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ConditionalFormatting.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:sqref*/, 1, int.MaxValue));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Control.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:shapeId*/, true, 1, true, 67098623, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomChartsheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:scale*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomSheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:colorId*/, true, double.NegativeInfinity, true, 64, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomSheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:guid*/, false, new string[] { "00000000-0000-0000-0000-000000000000" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(12 /*:sqref*/, true, 1, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:errorTitle*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(10 /*:promptTitle*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormula.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(11 /*:bx*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormula.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(10 /*:si*/, 0 /*:t*/ , "shared") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Hyperlink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:location*/, 0, 2084));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Hyperlink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(4 /*:display*/, 0, 2084));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Hyperlink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:tooltip*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.IgnoredError.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:sqref*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*:progId*/, @"[^\d].*"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:progId*/, 0, 39));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:shapeId*/, true, 1, true, 67098623, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:left*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:right*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:top*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:bottom*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:header*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:footer*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotSelection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(6 /*:axis*/, false, new string[] { "axisValues" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ProtectedRange.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.ProtectedRanges.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(6 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ProtectedRange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(6 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ProtectedRange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:sqref*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Row.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:r*/, true, 1, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Row.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:outlineLevel*/, true, 0, true, 7, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Row.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:s*/, true, 0, true, 65490, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RowBreaks.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 1022, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RowBreaks.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:manualBreakCount*/, true, double.NegativeInfinity, true, 1022, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Scenario.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Worksheet.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetFormatProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:outlineLevelCol*/, true, 0, true, 7, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetFormatProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:outlineLevelRow*/, true, 0, true, 7, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetFormatProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:baseColWidth*/, true, double.NegativeInfinity, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetFormatProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:defaultColWidth*/, true, 0, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(6 /*:codeName*/, @"[\p{L}\P{IsBasicLatin}][_\d\p{L}\P{IsBasicLatin}]*"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(1 /*:codeName*/, @"[\p{L}\P{IsBasicLatin}][_\d\p{L}\P{IsBasicLatin}]*"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:codeName*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(13 /*:colorId*/, true, double.NegativeInfinity, true, 64, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TabColor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(0, 1, 2, 3) /*:auto, :indexed, :rgb, :theme*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(6 /*:title*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(5 /*:destinationFile*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:divId*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(3 /*:sourceRef*/, 2 /*:sourceType*/ , "range") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(3 /*:sourceRef*/, 2 /*:sourceType*/ , "range") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SharedStringTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:uniqueCount*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SharedStringTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FontSize.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, 1, true, 409.55, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(4 /*:totalsRowLabel*/, 3 /*:totalsRowFunction*/ , "custom") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(9 /*:headerRowCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(11 /*:totalsRowCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:queryTableFieldId*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(4 /*:totalsRowLabel*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(10 /*:dataCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlColumnProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:xpath*/, 0, 32000));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SingleXmlCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, 4294967294, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SingleXmlCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:connectionId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlCellProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:id*/, true, new string[] { "1" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:xpath*/, 0, 32000));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:mapId*/, true, 1, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculationCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(3, 2) /*:l, :s*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:builtinId*/, true, 0, true, 53, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:iLevel*/, true, 0, true, 7, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CellStyles.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:xfId*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(13 /*:dataDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(15 /*:headerRowBorderDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(12 /*:headerRowDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(16 /*:tableBorderDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(17 /*:totalsRowBorderDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(14 /*:totalsRowDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientFill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:top*/, true, 0, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientFill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:bottom*/, true, 0, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientFill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:left*/, true, 0, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientFill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:right*/, true, 0, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientFill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:degree*/, true, -1.7E308, true, 1.7E308, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NumberingFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:formatCode*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GradientStop.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:position*/, true, 0, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableStyleElement.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:size*/, true, 1, true, 9, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableStyles.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:defaultTableStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataRecord.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:t*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.MetadataType.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.MetadataType", 1));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataRecord.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:t*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(5 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:type*/, true, 1, true, 8, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ExternalSheetData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:sheetId*/, true, 0, true, 65533, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:DataBindingName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(3 /*:FileBindingName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties.ElementTypeIdConst, DocumentFormat.OpenXml.Drawing.GraphicData.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.ChartDrawing.NonVisualDrawingProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(3 /*r:cs*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors"));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:dm*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData"));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(1 /*r:lo*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout"));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:qs*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle"));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:blip*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(19 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(21 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(10 /*ovml:hrpct*/, true, 0, true, 1000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(20 /*ovml:dgmnodekind*/, true, 0, true, 6, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(29 /*ovml:spt*/, true, new string[] { "19" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Curve.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Curve.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(25 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(18 /*r:href*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(16 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(17 /*r:pict*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(15 /*ovml:relid*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Stroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(26 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(31 /*ovml:tableproperties*/, true, new string[] { "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotCache.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.PivotCaches.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:cacheId*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:dxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(3 /*:style*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotArea.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(11 /*:fieldPosition*/, true, 0, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(14 /*:zoomScale*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(15 /*:zoomScaleNormal*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(17 /*:zoomScalePageLayoutView*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(16 /*:zoomScaleSheetLayoutView*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:workbookViewId*/, "/WorkbookPart", -1, DocumentFormat.OpenXml.Spreadsheet.WorkbookView.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.WorkbookView", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:zoomScale*/, true, 10, true, 400, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TabColor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:tint*/, true, -1.0, true, 1.0, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ColorFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:dxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:day*/, true, 1, true, 31, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:hour*/, true, 0, true, 23, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:minute*/, true, 0, true, 59, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:month*/, true, 1, true, 12, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:second*/, true, 0, true, 59, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateGroupItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:year*/, true, 1000, true, 9999, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RunPropertyCharSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, 0, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PhoneticProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:fontId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.Font.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Font", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RunFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:val*/, 0, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PhoneticRun.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLessEqualToAnother(0 /*:sb*/, 1 /*:eb*/, false) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(21 /*:connectionId*/, "/WorkbookPart/ConnectionsPart", DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Connection", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:id*/, false, new string[] { "0", "" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(7 /*:dataDxfId*/, "/WorkbookPart/WorkbookStylesPart", DocumentFormat.OpenXml.Spreadsheet.DifferentialFormats.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(6 /*:headerRowDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(8 /*:totalsRowDxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlColumnProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:mapId*/, "CustomXmlMappingsPart", DocumentFormat.OpenXml.Spreadsheet.Map.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Map", 0 /*:ID*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SingleXmlCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlCellProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculationCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:i*/, "/WorkbookPart", DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Sheet", 1 /*:sheetId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Comment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:authorId*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.Author.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Author", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Comment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:guid*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Alignment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:readingOrder*/, true, 0, true, 2, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.BackgroundColor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:tint*/, true, -1.0, true, 1.0, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:xfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ForegroundColor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:tint*/, true, -1.0, true, 1.0, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableStyleElement.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:dxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(3 /*:borderId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.Border.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Border", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:borderId*/, true, 0, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:fillId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.Fill.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Fill", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:fontId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.Font.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Font", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(4 /*:xfId*/, "/WorkbookPart/WorkbookStylesPart", DocumentFormat.OpenXml.Spreadsheet.CellStyleFormats.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CellFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CellMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FutureMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FutureMetadata.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Metadata.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FutureMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:name*/, false, new string[] { "XLMDX" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FutureMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxKpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:n*/, ".", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxKpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:n*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxKpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:np*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxKpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:np*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Mdx.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:n*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Mdx.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:n*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataType.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.MetadataTypes.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataType.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MetadataTypes.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:ns*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:ns*/, true, 0, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:c*/, true, 0, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NameIndex.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:x*/, true, 0, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NameIndex.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:x*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxMemberProp.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:n*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxMemberProp.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:n*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxMemberProp.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:np*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxMemberProp.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:np*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxTuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:si*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxTuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:si*/, "/WorkbookPart/CellMetadataPart", DocumentFormat.OpenXml.Spreadsheet.MetadataStrings.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.CharacterValue.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CharacterValue", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxTuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:c*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MdxTuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:fi*/, true, double.NegativeInfinity, true, 58, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ValueMetadata.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(10 /*:allUniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(9 /*:defaultMemberUniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheSource.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:connectionId*/, "/WorkbookPart/ConnectionsPart", DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Connection", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheSource.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:connectionId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 63999));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(3 /*:hierarchy*/, 6 /*:set*/ , "1") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(3 /*:hierarchy*/, 6 /*:set*/ , "0") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(4 /*:parent*/, 6 /*:set*/ , "1") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(2 /*:memberName*/, 6 /*:set*/ , "1") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(2 /*:memberName*/, 6 /*:set*/ , "0") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ConditionalFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(1 /*:type*/, 0 /*:scope*/, new string[] {"none", "all"}, new string[] {"data", "selection"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:fld*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.PivotField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.PivotField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Dimension.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ErrorItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(5 /*:in*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ServerFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Field.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.ColumnFields.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:x*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FieldUsage.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:x*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FieldUsage.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:x*/, true, -1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:fld*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.PivotField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.PivotField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(6 /*:iMeasureFld*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.PivotField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.PivotField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(5 /*:iMeasureHier*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.PivotHierarchy.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.PivotHierarchy", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Format.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:dxfId*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Group.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Groups.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*:id*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:id*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:uniqueParent*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GroupLevel.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GroupMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RowItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:i*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.DataField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DataField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Item.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.PivotField.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:n*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Item.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:t*/, false, new string[] { "blank", "grand" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(6 /*:goal*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(7 /*:status*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(8 /*:trend*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(5 /*:value*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(9 /*:weight*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MissingItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(4 /*:in*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ServerFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MemberProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(8 /*:field*/, "PivotTableCacheDefinitionPart", -1, DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MemberPropertiesMap.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:v*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NumberItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(5 /*:in*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ServerFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:fld*/, "PivotTableCacheDefinitionPart", -1, DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(3 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotCacheDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(6 /*:refreshedBy*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:axis*/, false, new string[] { "axisValues" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(10 /*:caption*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:autoFormatId*/, true, 0, true, 16, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:cacheId*/, "/WorkbookPart", DocumentFormat.OpenXml.Spreadsheet.PivotCache.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.PivotCache", 0 /*:cacheId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(50 /*:indent*/, true, double.NegativeInfinity, true, 127, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(40 /*:pageWrap*/, true, double.NegativeInfinity, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Query.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:mdx*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RangeProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLessEqualToAnother(3 /*:startNum*/, 4 /*:endNum*/, false) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RangeSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(5, 4) /*:name, :ref*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RangeSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(6 /*:sheet*/, 1, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.StringItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(5 /*:in*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ServerFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(0, 1) /*:culture, :format*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:culture*/, 0, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ServerFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:format*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SharedItems.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(9 /*:maxValue*/, false, new string[] { "NaN", "INF", "-INF" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SharedItems.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(8 /*:minValue*/, false, new string[] { "NaN", "INF", "-INF" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SharedItems.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLessEqualToAnother(8 /*:minValue*/, 9 /*:maxValue*/, true) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Tuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(0 /*:fld*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.CacheField.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheField", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Tuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:hier*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorksheetSource.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorksheetSource.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:sheet*/, 0, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Headers.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:version*/, true, 1, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Headers.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(11 /*:preserveHistory*/, true, 0, true, 32768, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Headers.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:revisionId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Headers.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:guid*/, false, new string[] { "00000000-0000-0000-0000-000000000000" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OldCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(3 /*:cm*/, "/WorkbookPart/CellMetadataPart", -1, DocumentFormat.OpenXml.Spreadsheet.CellMetadata.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellMetadata", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OldCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:s*/, "/WorkbookPart/WorkbookStylesPart", -1, DocumentFormat.OpenXml.Spreadsheet.CellStyle.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.CellStyle", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OldCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(4 /*:vm*/, "/WorkbookPart/CellMetadataPart", -1, DocumentFormat.OpenXml.Spreadsheet.ValueMetadata.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ValueMetadata", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionAutoFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:autoFormatId*/, true, 0, true, 16, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionConflict.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:sheetId*/, true, 0, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionComment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:author*/, 1, 52));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:functionGroupId*/, true, 1, true, 14, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:localSheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(14 /*:customMenu*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(15 /*:oldCustomMenu*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(16 /*:description*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(17 /*:oldDescription*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(18 /*:help*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(19 /*:oldHelp*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(20 /*:statusBar*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(21 /*:oldStatusBar*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, DocumentFormat.OpenXml.Spreadsheet.Revisions.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(5 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(5 /*:name*/, @"[a-zA-Z_\\][a-zA-Z0-9_.]*"));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Reviewed.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:rId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:sheetId*/, true, 0, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionMove.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:sheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionMove.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(6 /*:sourceSheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionRowColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:sId*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionSheetName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:sheetId*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Undo.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(10 /*:sId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Undo.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(2 /*:ref3D*/, 5 /*:nf*/, new string[] {"false"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Undo.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(8, 9) /*:dn, :r*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(4 /*:backgroundRefresh*/, 5 /*:firstBackgroundRefresh*/, new string[] {"true"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(14 /*:connectionId*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(14 /*:connectionId*/, "/WorkbookPart/ConnectionsPart", DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Connection", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTable.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(2 /*:dataBound*/, 5 /*:clipped*/, new string[] {"true"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(2 /*:dataBound*/, 4 /*:fillFormulas*/, new string[] {"false"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(2 /*:dataBound*/, 3 /*:rowNumbers*/, new string[] {"true"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableRefresh.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:unboundColumnsLeft*/, true, double.NegativeInfinity, true, 16383, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableRefresh.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(6 /*:unboundColumnsRight*/, true, double.NegativeInfinity, true, 16383, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableRefresh.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:nextId*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.QueryTableRefresh.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:minimumVersion*/, true, 0, true, 31, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DatabaseProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:commandType*/, true, 1, true, 5, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OlapProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:rowDrillCount*/, true, 1, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Parameter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Parameter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:sqlType*/, true, new string[] { "-22", "-20", "-11", "-10", "-9", "-8", "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Parameter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:string*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Parameter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(9 /*:cell*/, 2 /*:parameterType*/ , "cell") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Parameter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(4 /*:prompt*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:position*/, true, 0, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(7 /*:decimal*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:thousands*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ExternalCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:t*/, false, new string[] { "s" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ExternalCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(2 /*:vm*/, "/WorkbookPart/CellMetadataPart", -1, DocumentFormat.OpenXml.Spreadsheet.ValueMetadata.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.ValueMetadata", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DdeItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DdeItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(0 /*:name*/, 1 /*:ole*/, new string[] {"StdDocumentName"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DdeLink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:ddeService*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DdeLink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:ddeTopic*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ExternalDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:sheetId*/, true, 0, true, 65533, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleLink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:progId*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ExternalRow.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:r*/, true, double.NegativeInfinity, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebQueryProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:url*/, 1, int.MaxValue));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.SheetName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:val*/, 0, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:DataBindingLoadMode*/, true, 0, true, 4, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(2 /*:ConnectionID*/, 1 /*:FileBinding*/ , "false") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeRequiredConditionToValue(2 /*:ConnectionID*/, 1 /*:FileBinding*/ , "true") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Map.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(3 /*:SchemaID*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Map.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:Name*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Map.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:RootElement*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Map.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:ID*/, true, 1, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:ID*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideRange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLessEqualToAnother(0 /*:st*/, 1 /*:end*/, true) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideMasterId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideLayoutId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.CommentAuthor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.CommentAuthor.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:id*/, true, 0, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.CommentAuthor.ElementTypeIdConst, DocumentFormat.OpenXml.Presentation.CommentAuthorList.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*:clrIdx*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.HyperlinkOnHover.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeCannotOmitConstraint(0 /*r:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Luminance.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, 0, true, 100000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.TableStyleEntry.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:styleId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.HyperlinkOnClick.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeCannotOmitConstraint(0 /*r:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.HyperlinkOnMouseOver.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeCannotOmitConstraint(0 /*r:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.TableStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:styleId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.TableCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:rowSpan*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.TableCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:gridSpan*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.DashStop.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:d*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.DashStop.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:sp*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.LegacyCompatibility.LegacyDrawing.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:spid*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Spreadsheet.ConnectionShape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Spreadsheet.GraphicFrame.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Spreadsheet.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.AxisId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Backward.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, 0, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.CrossesAt.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:val*/, false, new string[] { "INF", "-INF", "NaN" }));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.CrossingAxis.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.CustomDisplayUnit.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:val*/, false, new string[] { "INF", "-INF", "NaN" }));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Explosion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.FormatId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Forward.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:val*/, false, new string[] { "INF", "-INF", "NaN" }));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Forward.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, 0, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Index.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.Order.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:b*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*:footer*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:header*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:l*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:r*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageMargins.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:t*/, true, 0, true, 49, false));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(8 /*:copies*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.NumericPoint.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:idx*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.StringPoint.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:idx*/, true, 0, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PointCount.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.SecondPiePoint.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.SplitPosition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:val*/, false, new string[] { "INF", "-INF", "NaN" }));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.ChartDrawing.ConnectionShape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.ChartDrawing.GraphicFrame.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.ChartDrawing.Picture.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.ChartDrawing.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:macro*/, 0, 256));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.Choose.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.DiagramChooseElse.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.ForEach.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.DiagramChooseIf.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.LayoutNode.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.Connection.ElementTypeIdConst, DocumentFormat.OpenXml.Drawing.Diagrams.ConnectionList.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:modelId*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(6 /*:parTransId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.ColorsDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:minVer*/, true, new string[] { "12.0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Arc.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(40 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Background.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Curve.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(40 /*ovml:spt*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Curve.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(16 /*:focus*/, @"-?(\d{1,2}|100)%"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(14 /*:angle*/, true, -32767, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(10 /*:origin*/, true, -32767, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(21 /*ovml:title*/, false, new string[] { "slashes", "colons" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(26 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(28 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Group.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageFile.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(29 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageFile.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(31 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageFile.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageFile.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(39 /*ovml:spt*/, true, new string[] { "75" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:blacklevel*/, true, -0.5, true, 0.5, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Line.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Line.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(40 /*ovml:spt*/, true, new string[] { "20" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Oval.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Oval.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Oval.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Oval.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(40 /*ovml:spt*/, true, new string[] { "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Path.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.PolyLine.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.PolyLine.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.PolyLine.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(40 /*ovml:spt*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Rectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Rectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Rectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Rectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(40 /*ovml:spt*/, true, new string[] { "1" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.RoundRectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(29 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.RoundRectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(31 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.RoundRectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.RoundRectangle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(39 /*ovml:spt*/, true, new string[] { "2" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shadow.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shapetype.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(30 /*ovml:dgmlayout*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shapetype.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(32 /*ovml:dgmlayoutmru*/, true, new string[] { "0", "1", "2", "3" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Shapetype.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Stroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Stroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(6 /*:miterlimit*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Stroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:weight*/, true, 0, true, 20116800, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.TextBox.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.TextPath.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.BottomStroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:weight*/, true, 0, true, 20116800, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.BottomStroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(7 /*:miterlimit*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.Callout.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(2 /*:type*/, true, new string[] { "rightAngle", "oneSegment", "twoSegment", "threeSegment" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.ColumnStroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(10 /*:dashstyle*/, true, new string[] { "solid", "shortdash", "shortdot", "shortdashdot", "shortdashdotdot", "dot", "dash", "longdash", "longdashdotdot", "dashdot" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.Extrusion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(22 /*:facet*/, true, 1, true, 65536, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.Extrusion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(21 /*:edge*/, @"(\d{1,5}|1[0-6][0-8]\d{3}|1690[0-8]\d|16909[0-3])pt"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.Extrusion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(11 /*:orientationangle*/, true, -32767f, true, 32767f, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.Extrusion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(6 /*:skewangle*/, true, -32767, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(4 /*:ObjectID*/, @"_(\d{1,9}|1\d{9}|20\d{8}|21[0-3]\d{7}|214[0-6]\d{6}|2147[0-3]\d{5}|21474[0-7]\d{4}|214748[0-2]\d{3}|2147483[0-5]\d{2}|21474836[0-3]\d|214748364[0-7])"));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(2 /*:ShapeID*/, ".", DocumentFormat.OpenXml.Vml.Shape.ElementTypeIdConst, "DocumentFormat.OpenXml.Vml.Shape", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Office.SignatureLine.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:pid*/, true, 2, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:name*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.VariantTypes.VTVStreamData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:version*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AbstractNum.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:abstractNumId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.NumberingInstance.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(0 /*w:numId*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.NumberingPictureBullet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:numPicBulletId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.ParagraphStyleId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(0 /*w:val*/, 0, 253));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FooterReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(1 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.HeaderReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(1 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EndnoteSpecialReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*w:id*/, "/MainDocumentPart/EndnotesPart", DocumentFormat.OpenXml.Wordprocessing.Endnote.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Endnote", 1 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FootnoteSpecialReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*w:id*/, "/MainDocumentPart/FootnotesPart", DocumentFormat.OpenXml.Wordprocessing.Footnote.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Footnote", 1 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DocPartId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:val*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Comment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(3 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*w:id*/, "WordprocessingCommentsPart", DocumentFormat.OpenXml.Wordprocessing.Comment.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Comment", 3 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*w:id*/, "WordprocessingCommentsPart", DocumentFormat.OpenXml.Wordprocessing.Comment.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Comment", 3 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CommentReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*w:id*/, "WordprocessingCommentsPart", DocumentFormat.OpenXml.Wordprocessing.Comment.ElementTypeIdConst, "DocumentFormat.OpenXml.Wordprocessing.Comment", 3 /*w:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CellDeletion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CellInsertion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CellMerge.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlDelRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlDelRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlInsRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlInsRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlMoveFromRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlMoveFromRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CustomXmlMoveToRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveFromRun.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveFromRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveFromRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(6 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveToRun.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveToRangeEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.MoveToRangeStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(6 /*w:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.NumberingChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(3 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.NumberingChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*w:original*/, 0, 15));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.ParagraphPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.SectionPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TableGridChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TablePropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TablePropertyExceptionsChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TableCellPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TableRowPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.BookmarkEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.BookmarkStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.PermEnd.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.PermStart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(4 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DataSourceReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.RecipientDataReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.SourceReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AttachedTemplate.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AutoCaption.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DocumentProtection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(6 /*w:cryptAlgorithmSid*/, true, new string[] { "1", "2", "3", "4", "12", "13", "14" }));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.SaveThroughXslt.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/transform"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.StylePaneFormatFilter.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueSetConstraint(0 /*w:val*/, false, new string[] { "0x0040", "0x0080", "0x0800" }));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Div.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.SourceFileReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/frame"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.SubDocumentReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/subDocument"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.OutlineLevel.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*w:val*/, true, 0, true, 9, true));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Control.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*w:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.BottomMargin.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeCannotOmitConstraint(1 /*w:type*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.BottomMargin.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeCannotOmitConstraint(0 /*w:w*/));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DivId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueSetConstraint(0 /*w:val*/, false, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.PrinterSettingsReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(0 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Name.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValuePatternConstraint(0 /*w:val*/, @"[^,]*"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Style.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*w:styleId*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EmbedBoldItalicFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EmbedItalicFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EmbedRegularFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipTypeConstraint(2 /*r:id*/, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"));
			RegisterConstraint(DocumentFormat.OpenXml.CustomXmlSchemaReferences.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(1 /*sl:manifestLocation*/, 0, 2083));
			RegisterConstraint(DocumentFormat.OpenXml.CustomXmlSchemaReferences.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(2 /*sl:schemaLocation*/, 0, 2083));
			RegisterConstraint(DocumentFormat.OpenXml.CustomXmlSchemaReferences.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(0 /*sl:uri*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.OleItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, int.MaxValue));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.ModificationVerifier.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel, new AttributeValueSetConstraint(3 /*:cryptAlgorithmSid*/, true, new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Undo.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(8, 10) /*:dn, :sId*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Deleted.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DeletedMathControl.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.DeletedRun.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Inserted.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.InsertedMathControl.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.InsertedRun.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.RunPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.ParagraphMarkRunPropertiesChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*w:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideLayoutId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(3 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideMasterId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Stroke.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(26 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.HyperlinkOnClick.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.ChartReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Hyperlink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Drawing.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AttachedTemplate.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Fill.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(25 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.OleObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(3 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.ExternalData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotCache.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.NotesMasterId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(16 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FooterReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.HeaderReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.HyperlinkRuby.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(5 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Hyperlink.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(5 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.HandoutMasterId.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.LegacyDrawing.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.EmbedRegularFont.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(2 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.SlideListEntry.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.HyperlinkOnMouseOver.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WorksheetSource.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(3 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.Shape.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(2 /*r:blip*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Blip.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:embed*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Blip.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:link*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:dm*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Vml.ImageData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(18 /*r:href*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.AltChunk.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(1 /*:guid*/, false, new string[] { "00000000-0000-0000-0000-000000000000" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookView.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(17 /*:windowHeight*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:comment*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(6 /*:localSheetId*/, true, double.NegativeInfinity, true, 32766, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FunctionGroup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(4 /*:title*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:sourceObject*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:destinationFile*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:divId*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.WebPublishObject.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Break.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:min*/, true, double.NegativeInfinity, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Break.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Break.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(2 /*:max*/, true, 1, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Color.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(4 /*:tint*/, true, -1, true, 1, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Color.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:indexed*/, true, double.NegativeInfinity, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Color.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:theme*/, true, 0, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Control.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new UniqueAttributeValueConstraint(2 /*:name*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Control.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:name*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBar.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:maxLength*/, true, double.NegativeInfinity, true, 100, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBar.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:minLength*/, true, double.NegativeInfinity, true, 100, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidations.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:xWindow*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidations.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(2 /*:yWindow*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataValidations.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:count*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.InputCells.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:val*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:fitToWidth*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(4 /*:fitToHeight*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(15 /*:copies*/, true, 1, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetPageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(9 /*:copies*/, true, 1, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(13 /*:horizontalDpi*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetPageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(7 /*:horizontalDpi*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(14 /*:verticalDpi*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ChartSheetPageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(8 /*:verticalDpi*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotSelection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(14 /*:previousCol*/, true, double.NegativeInfinity, true, 16383, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotSelection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(13 /*:previousRow*/, true, double.NegativeInfinity, true, 1048575, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Scenario.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:count*/, true, 1, true, 32, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Scenario.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Scenario.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(4 /*:user*/, 1, 54));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Scenario.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(5 /*:comment*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Selection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:activeCell*/, true, double.NegativeInfinity, true, 8191, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:id*/, true, 1, true, 4294967294, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:comment*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(19 /*:dataCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(18 /*:headerRowCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(20 /*:totalsRowCellStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(21 /*:connectionId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableColumn.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:uniqueName*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableStyleInfo.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlColumnProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:mapId*/, true, 1, true, 21474836477, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.XmlCellProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:uniqueName*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculationCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:i*/, true, 1, true, 65534, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Alignment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(4 /*:indent*/, true, double.NegativeInfinity, true, 255, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Alignment.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(8 /*:readingOrder*/, true, new string[] { "0", "1", "2" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FontFamily.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:val*/, true, 0, true, 5, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.FontName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:val*/, 1, 31));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TableStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Column.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLessEqualToAnother(0 /*:min*/, 1 /*:max*/, true) );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.BooleanItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(13 /*:displayFolder*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(14 /*:measureGroup*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(5 /*:iconSet*/, true, 0, true, 11, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:memberName*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:hierarchy*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(4 /*:parent*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DateTimeItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Dimension.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:caption*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Dimension.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:name*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Dimension.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:uniqueName*/, 1, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.ErrorItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.GroupMember.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:uniqueName*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Item.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeRequiredConditionToValue(8 /*:x*/, 1 /*:t*/ , "data") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:caption*/, 1, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:displayFolder*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:measureGroup*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Kpi.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(4 /*:parent*/, 0, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MissingItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MeasureGroup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:caption*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.MeasureGroup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NumberItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NumberItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(0 /*:v*/, false, new string[] { "INF", "-INF", "NaN" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(11 /*:dataCaption*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(12 /*:grandTotalCaption*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(13 /*:errorCaption*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(15 /*:missingCaption*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(17 /*:pageStyle*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(18 /*:pivotTableStyle*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(19 /*:vacatedStyle*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(20 /*:tag*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.PivotTableStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.StringItem.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:c*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TupleSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:setDefinition*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TupleSet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:maxRank*/, true, 0, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Tuple.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeMutualExclusive(0, 1) /*:fld, :hier*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Header.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(2 /*:maxSheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Header.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:userName*/, 1, 54));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Header.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(5 /*:minRId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NewCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(3 /*:cm*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NewCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(4 /*:vm*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.NewCell.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(1 /*:s*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionAutoFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:sheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionCellChange.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:sId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(22 /*:comment*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(23 /*:oldComment*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:rId*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionInsertSheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(3 /*:sheetId*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.RevisionInsertSheet.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(5 /*:sheetPosition*/, true, double.NegativeInfinity, true, 65533, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Users.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:count*/, true, double.NegativeInfinity, true, 256, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DeletedField.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(4 /*:interval*/, true, double.NegativeInfinity, true, 32767, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(5 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(6 /*:description*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(19 /*:singleSignOnId*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:odcFile*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:sourceFile*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DatabaseProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:connection*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(4 /*:firstRow*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(5 /*:sourceFile*/, 1, 218));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TextProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeRequiredConditionToValue(5 /*:sourceFile*/, 0 /*:prompt*/ , "false") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Values.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:cols*/, true, 1, true, 16384, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Values.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:rows*/, true, 1, true, 1048576, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Main.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:first*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.TopicReferences.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(1 /*:s*/, true, 1, true, 65534, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:DataBindingName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(3 /*:FileBindingName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(2 /*:ConnectionID*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.DataBinding.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeAbsentConditionToValue(3 /*:FileBindingName*/, 1 /*:FileBinding*/ , "false") );
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:ID*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(1 /*:SchemaRef*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Spreadsheet.Schema.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(2 /*:Namespace*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Drawing.Charts.PageSetup.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(0 /*:paperSize*/, true, double.NegativeInfinity, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Spreadsheet.ClientData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(0 /*:ObjectType*/, false, new string[] { "Movie" }));
			RegisterConstraint(DocumentFormat.OpenXml.Vml.Spreadsheet.ClientData.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueSetConstraint(0 /*:ObjectType*/, false, new string[] { "LineA", "RectA" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.CustomShowReference.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:id*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.ModificationVerifier.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueSetConstraint(3 /*:cryptAlgorithmSid*/, true, new string[] { "1", "2", "3", "4", "12", "13", "14" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.ModificationVerifier.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueSetConstraint(11 /*:cryptProviderTypeExtSource*/, true, new string[] { "wincrypt", "" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.ModificationVerifier.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueSetConstraint(9 /*:algIdExtSource*/, true, new string[] { "wincrypt", "" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.Presentation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:firstSlideNum*/, true, 0, true, 9999, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.Transition.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:advTm*/, true, 0, true, 2147483647, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.Tag.ElementTypeIdConst, DocumentFormat.OpenXml.Presentation.TagList.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, false, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.AnimateMotion.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:rAng*/, true, -2147483554, true, 2147483554, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.AnimateRotation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:by*/, true, -2147483554, true, 2147483554, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.AnimateRotation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:from*/, true, -2147483554, true, 2147483554, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.AnimateRotation.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:to*/, true, -2147483554, true, 2147483554, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildDiagram.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:grpId*/, ".", DocumentFormat.OpenXml.Presentation.CommonTimeNode.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.CommonTimeNode", 19 /*:grpId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildDiagram.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:spid*/, ".", DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildGraphics.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:spid*/, ".", DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildGraphics.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:grpId*/, ".", DocumentFormat.OpenXml.Presentation.CommonTimeNode.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.CommonTimeNode", 19 /*:grpId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildOleChart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:spid*/, ".", DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildOleChart.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(1 /*:grpId*/, ".", DocumentFormat.OpenXml.Presentation.CommonTimeNode.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.CommonTimeNode", 19 /*:grpId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.BuildParagraph.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:spid*/, ".", DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties.ElementTypeIdConst, "DocumentFormat.OpenXml.Presentation.NonVisualDrawingProperties", 0 /*:id*/));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.CommonTimeNode.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueSetConstraint(7 /*:spd*/, false, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.TimePercentage.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:val*/, true, double.NegativeInfinity, true, 2147483625, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.Template.ElementTypeIdConst, -1, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:lvl*/, true, double.NegativeInfinity, true, 9, true));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.Template.ElementTypeIdConst, DocumentFormat.OpenXml.Presentation.TemplateList.ElementTypeIdConst, FileFormatVersions.Office2007 | FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:lvl*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Word.DocumentId.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*w14:val*/, true, 0, false, 0x80000000, false));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Paragraph.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*w14:paraId*/, true, 0, false, 0x80000000, false));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TableRow.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*w14:paraId*/, true, 0, false, 0x80000000, false));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.Paragraph.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(6 /*w14:textId*/, true, 0, false, 0x80000000, false));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.TableRow.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(5 /*w14:textId*/, true, 0, false, 0x80000000, false));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Word.StyleSet.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*w14:id*/, true, 1, true, 20, true));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.CompatibilitySetting.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(2 /*w:val*/, 0 /*w:name*/, new string[] {"11", "12", "14", "15"}, new string[] {"compatibilityMode"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.PowerPoint.MediaBookmark.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.PowerPoint.MediaBookmarkList.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.PowerPoint.MediaBookmark.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.PowerPoint.MediaBookmarkList.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:time*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.InkML.Channel.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(8 /*:units*/, true, new string[] { "dev", "in", "cm", "deg", "rad", "s", "lb", "g" }));
			RegisterConstraint(DocumentFormat.OpenXml.EMMA.Interpretation.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*:id*/, @"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"));
			RegisterConstraint(DocumentFormat.OpenXml.EMMA.Interpretation.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(16 /*emma:mode*/, true, new string[] { "ink" }));
			RegisterConstraint(DocumentFormat.OpenXml.EMMA.OneOf.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:disjunction-type*/, true, new string[] { "recognition" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Drawing.CameraTool.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(1 /*:spid*/, @"_x0000_s(102[5-9]|10[3-9][0-9]|1[1-9][0-9]{2}|[1-9][0-9]{3,7}|1[0-9]{8}|2[0-5][0-9]{7}|26[0-7][0-9]{6}|268[0-3][0-9]{5}|2684[0-2][0-9]{4}|26843[0-4][0-9]{3}|268435[0-3][0-9]{2}|2684354[0-4][0-9]|26843545[0-6])"));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Drawing.CompatExtension.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*:spid*/, @"_x0000_s(102[5-9]|10[3-9][0-9]|1[1-9][0-9]{2}|[1-9][0-9]{3,7}|1[0-9]{8}|2[0-5][0-9]{7}|26[0-7][0-9]{6}|268[0-3][0-9]{5}|2684[0-2][0-9]{4}|26843[0-4][0-9]{3}|268435[0-3][0-9]{2}|2684354[0-4][0-9]|26843545[0-6])"));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataValidations.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:xWindow*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(9 /*:error*/, 0, 225));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(10 /*:promptTitle*/, 0, 32));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataValidation.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(11 /*:prompt*/, 0, 225));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SeriesColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.NegativeColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.AxisColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.MarkersColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FirstMarkerColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.LastMarkerColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.HighMarkerColor.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:auto*/, true, new string[] { "false" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SparklineGroup.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueConditionToAnother(1 /*:manualMin*/, 14 /*:minAxisType*/, new string[] {"0"}, new string[] {"individual", "group"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SparklineGroup.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:lineWeight*/, true, 0, true, 1584, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.WorkbookProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(0 /*:defaultImageDpi*/, true, new string[] { "96", "150", "220" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:displayFolder*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.CalculatedMember.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(4 /*:mdxLong*/, 32766, 1073741822));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.TupleSetHeader.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:uniqueName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.TupleSetHeader.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:hierarchyName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.TupleSetRowItem.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:u*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.TupleSetRowItem.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:d*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SetLevel.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(0 /*:hierarchy*/, true, -2, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataField.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(2 /*:uniqueName*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataField.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:uniqueName*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:priority*/, true, 0, false, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(1 /*:priority*/, true, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(3 /*:aboveAverage*/, 0 /*:type*/ , "aboveAverage") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(4 /*:percent*/, 0 /*:type*/ , "top10") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(5 /*:bottom*/, 0 /*:type*/ , "top10") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(7 /*:text*/, 0 /*:type*/ , "beginsWith", "containsText", "endsWith", "notContainsText") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(8 /*:timePeriod*/, 0 /*:type*/ , "timePeriod") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(10 /*:stdDev*/, 0 /*:type*/ , "aboveAverage") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(11 /*:equalAverage*/, 0 /*:type*/ , "aboveAverage") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataBar.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLessEqualToAnother(0 /*:minLength*/, 1 /*:maxLength*/, true) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataBar.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(1 /*:maxLength*/, true, double.NegativeInfinity, true, 100, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(3 /*:altText*/, 0, 2000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(4 /*:altTextSummary*/, 0, 2000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.PivotTableDefinition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(8 /*:weightExpression*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:culture*/, 0, 84));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Connection.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:embeddedDataId*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:altText*/, 0, 25000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Table.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:altTextSummary*/, 0, 50000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.PivotChange.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:weightExpression*/, 1, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.PivotEditValue.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:valueType*/, 1, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyle.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:name*/, ".", DocumentFormat.OpenXml.Spreadsheet.TableStyle.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.TableStyle", 0 /*:name*/));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyle.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.Excel.SlicerStyles.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyleElement.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.Excel.SlicerStyleElements.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:type*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyleElement.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new IndexReferenceConstraint(1 /*:dxfId*/, ".", -1, DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.DifferentialFormat", 0));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(1 /*:type*/, true, new string[] { "none" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(2 /*:priority*/, true, 1, true, double.PositiveInfinity, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormat.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(2 /*:priority*/, "..", DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule.ElementTypeIdConst, "DocumentFormat.OpenXml.Office2010.Excel.ConditionalFormattingRule", 1 /*:priority*/));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerStyles.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:defaultSlicerStyle*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ProtectedRange.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(0, 1) /*:password, :algorithmName*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ProtectedRange.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:spinCount*/, true, double.NegativeInfinity, true, 10000000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ProtectedRange.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(5 /*:name*/, 1, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SortCondition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToValue(4 /*:dxfId*/, 1 /*:sortBy*/ , "icon", "value") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SortCondition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(5 /*:iconSet*/, 1 /*:sortBy*/ , "icon") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SortCondition.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeAbsentConditionToNonValue(6 /*:iconId*/, 1 /*:sortBy*/ , "icon") );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FormControlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(3 /*:dropLines*/, true, 0, true, 30000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FormControlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(12 /*:inc*/, true, 0, true, 30000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FormControlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(15 /*:max*/, true, 0, true, 30000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FormControlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(16 /*:min*/, true, 0, true, 30000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.FormControlProperties.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(20 /*:page*/, true, 0, true, 30000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DatastoreItem.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:id*/, 0, 65535));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Slicer.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, false, true, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Slicer.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:name*/, 1, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Slicer.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(2 /*:caption*/, 1, int.MaxValue));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.Slicer.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueRangeConstraint(4 /*:columnCount*/, true, 1, true, 20000, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerCachePivotTable.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new ReferenceExistConstraint(0 /*:tabId*/, "/WorkbookPart", DocumentFormat.OpenXml.Spreadsheet.Sheet.ElementTypeIdConst, "DocumentFormat.OpenXml.Spreadsheet.Sheet", 1 /*:sheetId*/));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.OlapSlicerCacheRange.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(0 /*:startItem*/, @"(0|[1-9][0-9]*000)"));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.OlapSlicerCacheLevelData.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:uniqueName*/, 1, 32767));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.TabularSlicerCacheItem.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.Excel.TabularSlicerCacheItems.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:x*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office.Word.Mcd.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*wne:name*/, 0, 255));
			RegisterConstraint(DocumentFormat.OpenXml.Office.Word.Mcd.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(3 /*wne:bEncrypt*/, true, new string[] { "0" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office.Word.Mcd.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(4 /*wne:cmg*/, true, new string[] { "56" }));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DefinedName.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.Excel.DefinedNames.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:name*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.ArgumentDescription.ElementTypeIdConst, DocumentFormat.OpenXml.Office2010.Excel.ArgumentDescriptions.ElementTypeIdConst, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new UniqueAttributeValueConstraint(0 /*:index*/, true, false, this));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.CustomUI.ControlClone.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(0, 1) /*:size, :getSize*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.CustomUI.ControlCloneQat.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(5, 6) /*:size, :getSize*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.CustomUI.ButtonRegular.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(18, 20, 19, 21) /*:insertAfterMso, :insertAfterQ, :insertBeforeMso, :insertBeforeQ*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.CustomUI.Button.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeMutualExclusive(0, 1) /*:size, :getSize*/ );
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FontSignature.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(4 /*w:csb0*/, @"[0-9a-fA-F]{8}"));
			RegisterConstraint(DocumentFormat.OpenXml.Wordprocessing.FontSignature.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValuePatternConstraint(5 /*w:csb1*/, @"[0-9a-fA-F]{8}"));
			RegisterConstraint(DocumentFormat.OpenXml.InkML.ActiveArea.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(3 /*:units*/, true, new string[] { "dev", "in", "cm", "deg", "rad", "s", "lb", "g" }));
			RegisterConstraint(DocumentFormat.OpenXml.InkML.SourceProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(2 /*:units*/, true, new string[] { "dev", "in", "cm", "deg", "rad", "s", "lb", "g" }));
			RegisterConstraint(DocumentFormat.OpenXml.InkML.ChannelProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(3 /*:units*/, true, new string[] { "dev", "in", "cm", "deg", "rad", "s", "lb", "g" }));
			RegisterConstraint(DocumentFormat.OpenXml.InkML.BrushProperty.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueSetConstraint(2 /*:units*/, true, new string[] { "dev", "in", "cm", "deg", "rad", "s", "lb", "g" }));
			RegisterConstraint(DocumentFormat.OpenXml.Presentation.ContentPart.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerCache.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.SlicerRef.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.PowerPoint.Media.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(1 /*r:link*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.PowerPoint.Media.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel | ApplicationType.PowerPoint, new RelationshipExistConstraint(0 /*r:embed*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.DataValidations.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueRangeConstraint(2 /*:yWindow*/, true, double.NegativeInfinity, true, 65535, true));
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueConditionToAnother(0 /*:flattenHierarchies*/, 3 /*:ignore*/, new string[] {"false"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueConditionToAnother(1 /*:measuresSet*/, 3 /*:ignore*/, new string[] {"false"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2010.Excel.CacheHierarchy.ElementTypeIdConst, -1, FileFormatVersions.Office2010 | FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueConditionToAnother(2 /*:hierarchizeDistinct*/, 3 /*:ignore*/, new string[] {"false"}, new string[] {"true"}) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Word.CommentEx.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValuePatternConstraint(0 /*w15:paraId*/, @"[0-9a-fA-F]{8}"));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Word.CommentEx.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(2 /*w15:done*/, 1, int.MaxValue));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.WebExtentionPane.WebExtensionPartReference.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel, new RelationshipExistConstraint(0 /*r:id*/) );
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.WebExtension.WebExtension.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:id*/, 1, 1000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.WebExtension.WebExtensionStoreReference.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word | ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:id*/, 1, 1000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Word.PresenceInfo.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(0 /*w15:providerId*/, 1, 100));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Word.PresenceInfo.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Word, new AttributeValueLengthConstraint(1 /*w15:userId*/, 1, 300));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Theme.ThemeFamily.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Excel | ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:id*/, 1, 100));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:url*/, 1, 1000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.Excel.Timeline.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.Excel, new AttributeValueLengthConstraint(0 /*:name*/, 1, 1000));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.PowerPoint.PresenceInfo.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueLengthConstraint(1 /*:providerId*/, 1, 100));
			RegisterConstraint(DocumentFormat.OpenXml.Office2013.PowerPoint.PresenceInfo.ElementTypeIdConst, -1, FileFormatVersions.Office2013, ApplicationType.PowerPoint, new AttributeValueLengthConstraint(0 /*:userId*/, 1, 300));
		}
	}
}
